package entidadesVO;

import java.io.Serializable;
import java.sql.Date;
import java.util.HashSet;
import java.util.Set;

public class ArticuloVO implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String descripcion;
	private float precio;
	private float descuento;
	private Set<CentroDistribucionVO> centrosDeDistribucion = new HashSet<CentroDistribucionVO>();
	private String referencia;
	private String color;
	private String linea;
	private Date fechaDeIngreso;
	private int nuevo;
	private int mesDeDescuento;
	private int codigoArticulo;
	private Set<ArticuloComponentesVO> articuloComponentes = new HashSet<ArticuloComponentesVO>();
	
	public ArticuloVO(String descripcion, float precio, float descuento, Set<CentroDistribucionVO> centrosDeDistribucion, String referencia, String color, String linea, Date fechaDeIngreso, int nuevo, int mesDeDescuento, int codigoArticulo, Set<ArticuloComponentesVO> articuloComponentes) {
		this.descripcion = descripcion;
		this.precio = precio;
		this.descuento = descuento;
		this.centrosDeDistribucion = centrosDeDistribucion;
		this.referencia = referencia;
		this.color = color;
		this.linea = linea;
		this.fechaDeIngreso = fechaDeIngreso;
		this.nuevo = nuevo;
		this.mesDeDescuento = mesDeDescuento;
		this.codigoArticulo = codigoArticulo;
		this.articuloComponentes = articuloComponentes;
	}
	/*
	 * Constructor sin Set (centrosDistribucion y articulosComponentes)
	 */
	public ArticuloVO(String descripcion, float precio, float descuento, String referencia, String color, String linea, Date fechaDeIngreso, int nuevo, int mesDeDescuento, int codigoArticulo) {
		this.descripcion = descripcion;
		this.precio = precio;
		this.descuento = descuento;
		this.referencia = referencia;
		this.color = color;
		this.linea = linea;
		this.fechaDeIngreso = fechaDeIngreso;
		this.nuevo = nuevo;
		this.mesDeDescuento = mesDeDescuento;
		this.codigoArticulo = codigoArticulo;
	}
	/*
	 * Constructor nuevo, codigoArticulo y sin Set (centrosDistribucion y articulosComponentes)
	 */
	public ArticuloVO(String descripcion, float precio, float descuento, String referencia, String color, String linea, Date fechaDeIngreso, int mesDeDescuento) {
		this.descripcion = descripcion;
		this.precio = precio;
		this.descuento = descuento;
		this.referencia = referencia;
		this.color = color;
		this.linea = linea;
		this.fechaDeIngreso = fechaDeIngreso;
		this.mesDeDescuento = mesDeDescuento;
	}
	/*
	 * Constructor Vacio
	 */
	public ArticuloVO(){
		
	}
	
	public Set<ArticuloComponentesVO> getArticuloComponentes() {
		return articuloComponentes;
	}
	public void setArticuloComponentes(Set<ArticuloComponentesVO> articuloComponentes) {
		this.articuloComponentes = articuloComponentes;
	}
	public void addArticuloComponentes(ArticuloComponentesVO articuloComponente){
		this.articuloComponentes.add(articuloComponente);
	}
	
	public Set<CentroDistribucionVO> getCentrosDeDistribucion() {
		return centrosDeDistribucion;
	}
	public void setCentrosDeDistribucion(
			Set<CentroDistribucionVO> centrosDeDistribucion) {
		this.centrosDeDistribucion = centrosDeDistribucion;
	}
	public void addCentrosDeDistribucion(CentroDistribucionVO centroDistribucion){
		this.centrosDeDistribucion.add(centroDistribucion);
	}
	
	public int getCodigoArticulo() {
		return codigoArticulo;
	}
	public void setCodigoArticulo(int codigoArticulo) {
		this.codigoArticulo = codigoArticulo;
	}
	
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	public float getDescuento() {
		return descuento;
	}
	public void setDescuento(float descuento) {
		this.descuento = descuento;
	}
	
	public Date getFechaDeIngreso() {
		return fechaDeIngreso;
	}
	public void setFechaDeIngreso(Date fechaDeIngreso) {
		this.fechaDeIngreso = fechaDeIngreso;
	}
	
	public String getLinea() {
		return linea;
	}
	public void setLinea(String linea) {
		this.linea = linea;
	}
	
	public int getMesDeDescuento() {
		return mesDeDescuento;
	}
	public void setMesDeDescuento(int mesDeDescuento) {
		this.mesDeDescuento = mesDeDescuento;
	}
	
	public int getNuevo() {
		return nuevo;
	}
	public void setNuevo(int nuevo) {
		this.nuevo = nuevo;
	}
	
	public float getPrecio() {
		return precio;
	}
	public void setPrecio(float precio) {
		this.precio = precio;
	}
	
	public String getReferencia() {
		return referencia;
	}
	public void setReferencia(String referencia) {
		this.referencia = referencia;
	}
}
